今天要來聊的東西叫 Amazon API Gateway。名字聽起來很帥,但簡單翻譯就是:API 的大門口保全兼櫃台。它負責擋人、轉送快遞、還會幫你記錄「誰幾點來過」。換句話說,就是幫你把 API 打理得漂漂亮亮,免得變成夜市攤販,路人隨便走進來亂點餐。
AWS 官網的介紹一貫風格就是:聽起來很專業,但看完還是霧煞煞。
什麼「完全託管」、「發佈」、「維護」、「監控」、「保護 API」…… 聽起來就像是 AWS 在面試自家產品時的自我介紹。
但老實講,工程師日常哪有空管這些?我們要的只是:別再半夜爆 server、別讓老闆打來問 API 為什麼掛了。
簡單講 API Gateway 大概就是以下三種作用:
API Gateway 支援的協定包含三種:REST API、HTTP API、WebSocket API。下面就用白話文版本進行說明
說到「原因」,AWS 的官網會列一大堆,但工程師根本沒心情看那些學術性用詞。以下整理幾個真正有感的原因,用「生活白話」來說清楚,講明白:
正所謂沒有比較沒有傷害,讓我們來比較看看為什麼用API Gateway 而不用 EC2,難道EC2就沒有可取的地方了嗎?
項目 | EC2 | API Gateway |
---|---|---|
適合場景 | 長期高流量,成本可控 | 小規模或不穩定流量 |
維護成本 | 要自己上更新、監控、重啟 | 完全託管,免維護 |
擴展性 | 要自己設定 Auto Scaling | AWS 幫你自動撐流量 |
成本模式 | 固定支出(算月租) | 按 request 收費(算次數) |
比喻 | 養一台機車:便宜但要自己顧 | 叫 Uber:輕鬆,但坐太多會破產 |
簡單來說就是:
這裡是系統上雲之後,老闆最關心的部分:錢。
會在這邊推薦給大家,主要是中小企業的使用量其實普遍不高,所以使用API Gateway是相對划算的選擇。只要不是每個月有個幾千萬次的調用,都會比開一台 EC2 來得划算。接下來幾篇會介紹API Gateway的使用場景和範例,就讓我們繼續看下去。